<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<!DOCTYPE html>
<html lang="zh-CN">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>公司列表</title>
    <jsp:include page="css.jsp"/>
    <jsp:include page="js.jsp"/>
</head>
<body>
<div class="container">
    <div class="background"></div>

    <div class="page-header">公司列表</div>

    <div class="card addBtn" style="display: none;" id="addDiv" onclick="startScan()">
        <div class="card-content">加入新公司</div>
    </div>

    <div class="user-container mainContent" id="scrollContainer"></div>
</div>

<div class="message-container" id="messageContainer"></div>

<a href="javascript:void(0)" onclick="goBack()" class="back-btn">↶</a>
</body>
</html>
<!-- 引入微信JS-SDK -->
<script src="static/wechat/center/js/company.js"></script>
<script src="static/wechat/center/js/message.js"></script>
<script src="https://res.wx.qq.com/open/js/jweixin-1.6.0.js"></script>

<script>
    // 初始化微信JS-SDK
    async function initWechatSDK() {
        try {
            // 模拟后端返回的配置数据（实际项目中需要替换为真实数据）
            $.post('/wx/signature', {
                url: 'http://www.hsjrxx.com/wx/center/company'
            }, function (config) {
                wx.config({
                    debug: false, // 开启调试模式
                    appId: config.appId,
                    timestamp: config.timestamp,
                    nonceStr: config.nonceStr,
                    signature: config.signature,
                    jsApiList: [
                        'checkJsApi',
                        'scanQRCode'
                    ] // 需要使用的JS接口列表
                });

                wx.checkJsApi({
                    jsApiList: ['scanQRCode'],
                    success: function (res) {
                        console.log(res.checkResult.scanQRCode); // 返回true表示已授权
                    }
                });

                wx.ready(function () {
                    // showMessage('success', '微信SDK初始化成功');
                    document.getElementById('addDiv').addEventListener('click', startScan);
                });

                wx.error(function (res) {
                    console.error('微信SDK初始化失败', res);
                    // showMessage('error', '微信SDK初始化失败: ' + JSON.stringify(res));
                });
            });
        } catch (error) {
            console.error('初始化失败:', error);
            // showMessage('error', '初始化失败: ' + error.message);
        }
    }

    // 开始扫描
    function startScan() {
        wx.scanQRCode({
            needResult: 1, // 默认为0，扫描结果由微信处理，1则直接返回扫描结果
            scanType: ["qrCode", "barCode"], // 可以指定扫二维码还是一维码，默认二者都有
            success: function (res) {
                // 扫码成功回调
                const data = res.resultStr; // 当needResult 为 1 时，扫码返回的结果
                // showMessage('success', '扫描成功！扫描内容：' + data);

                // 加入指定公司
                $.post(serverUrl + ':' + serverPort + serverName + '/deviceUser/scanToJoinCompany', {
                    userId: sessionStorage.getItem("loginUserId"),
                    companyId: data
                }, function (result) {
                    let obj = JSON.parse(result);

                    if (obj.code === 0) {
                        // window.location.href = 'wx/center/completeInfo?companyId=' + data;
                        // 显示成功消息（3秒后自动关闭）
                        showMessage('success', '已成功加入公司！');
                    } else {
                        // 显示错误消息（带标题）
                        showMessage('error', obj.msg);
                        console.log(obj.msg);
                    }

                    setTimeout(function () {
                        // 两秒后自动返回到公司列表
                        window.location.href = 'wx/center/company';
                    }, 2000);
                });
            },
            fail: function (err) {
                // 扫码失败回调
                console.error('扫描失败:', err);
                let errorMsg = '扫描失败';

                if (err.errMsg.includes('permission')) {
                    errorMsg = '摄像头权限被拒绝，请授权后重试';
                } else if (err.errMsg.includes('cancel')) {
                    errorMsg = '扫描已取消';
                }

                showMessage('error', errorMsg);
            }
        });
    }

    // 页面加载完成后初始化
    window.onload = function () {
        // 检查是否在微信环境中
        const isWechat = /MicroMessenger/i.test(navigator.userAgent);

        if (!isWechat) {
            document.getElementById('scanBtn').disabled = true;
            showMessage('error', '请在微信客户端中打开此页面');
            return;
        }

        // 初始化微信SDK
        initWechatSDK();
    };
</script>